library(tidyverse)
library(plotly)
library(palmerpenguins)
Comparing Body Mass vs. Flipper length in Penguins
fig <- penguins %>%
plot_ly( x = ~body_mass_g, y = ~flipper_length_mm, type="scatter", color = ~species) %>%
layout(
title = "Body Mass vs. Flipper Length",
xaxis = list(title="Body Mass"),
yaxis = list(title="Flipper Length")
)
fig
ggplot(data=penguins, aes(x = body_mass_g)) + geom_histogram()
Basic Histogram in Plotly
fig <- penguins %>%
plot_ly( x = ~body_mass_g, type="histogram", color = ~body_mass_g, colors=c(rgb(.8,0,0)), opacity=.5) %>%
layout(
title = "Body Mass"
)
fig
fig <- plot_ly(diamonds, x = ~cut, color=~clarity, colors = "Greens", stroke = I("black"))
fig
Overlaying Histograms
a <- penguins %>% filter(species=="Gentoo") %>% select(body_mass_g)
b <- penguins %>% filter(species=="Adelie") %>% select(body_mass_g)
c <- penguins %>% filter(species=="Chinstrap") %>% select(body_mass_g)
fig <- plot_ly(opacity=.6, stroke = I("black")) %>%
add_histogram(data = a, x=~body_mass_g, name="Gentoo") %>%
add_histogram(data = b, x=~body_mass_g, name="Adelie") %>%
add_histogram(data = c, x=~body_mass_g, name="Chinstrap")
fig <- fig %>% layout(barmode="overlay", title="Penguin Body Mass by Species",
xaxis=list(title="Body Mass"),
yaxis=list(title="Frequency"),
plot_bgcolor = "#c7daec",
showlegend = TRUE)
fig
Creating a Bar Chart of the average body mass of penguin species
penguin_stats <- penguins %>%
group_by(species) %>%
drop_na() %>%
summarise(
min_body_mass = min(body_mass_g),
avg_body_mass = mean(body_mass_g),
max_body_mass = max(body_mass_g))
fig <- penguin_stats %>% plot_ly( x = ~species, y = ~avg_body_mass, color = ~species) %>%
add_bars() %>%
layout(title="Average Body Mass",
xaxis=list(title="Species"),
yaxis=list(title="Body Mass in Grams"),
barmode="stack")
fig
Adelie and Chinstraps are about the same size, and Gentoo’s are about 27% bigger.
3D Topographical Map
x <- seq_len(nrow(volcano)) + 100
y <- seq_len(ncol(volcano)) + 500
plot_ly() %>% add_surface( x = ~x, y = ~y, z=~volcano)